Origin Allow List API
The Origin Allow List API provides a comprehensive list of IP addresses that Qwilt CDN may use to request content from your origin.
This list includes the IPs from all the networks where Qwilt CDN is present. Because of Qwilt's unique routing strategy, any of the IPs from any of the ISP networks may potentially send a request to your origin.
Therefore, if your security policies limit origin access to approved IPs only, make sure to add all of these IP addresses to your allow list.
How Does it Work
A simple API call retrieves the current list of all the IP addresses that comprise the Qwilt footprint, grouped by ISP network. The list itself also includes the list creation time and a unique ID.
The list is verified by Qwilt once per hour. If no changes are detected, the existing instance of the list remains valid. If a change is detected, a new list is generated with a new list creation time and ID.
-
The md5 attribute is a unique identifier for a particular instance of the IP address list.
-
The createTimeMillis attribute is the time this instance of the IP address list was generated.
-
The ipData attribute contains the IPv4 and IPv6 addresses, grouped by network.
When complete subnets are present in the data, we aggregate them into a single subnet for easier management. For example, instead of listing 8 consecutive /32 addresses individually, we consolidate them into a single /29 subnet.
You can compare a new API response with the previous one. If the md5 and createTimeMillis values are unchanged, there have been no changes to the list of IP addresses.
Authentication
Two authentication methods are supported for interacting with the Qwilt APIs:
- API key based authentication
- Token based authentication
Example
Request Example
curl --request GET \
--url https://device-ip.cqloud.com/api/1.0/network/device-ip \
--header 'Accept: application/json' \
--header 'X-API-KEY: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG. . .'
Response Example
{
"md5": "1b8a44eec422cfd52a4bc1fd70f10c86",
"createTimeMillis": 1712229223534,
"ipData": {
"example-isp-network-1": {
"ipv4": [
"34.123.211.72/32",
"34.456.117.64/32"
],
"ipv6": [
"2001:db8::/48",
"2a03:2880::/48"
]
},
"example-isp-network-2": {
"ipv4": [
"34.123.4.215/32",
"35.456.192.150/32",
"35.789.173.73/32",
"34.012.74.94/32",
"34.34.19.31/32",
"34.567.157.73/32",
"34.890.126.219/32",
"34.890.201.109/32"
],
"ipv6": []
}
}
}